﻿
namespace SvGame.Objects;

public partial class Player : IDbData
{
    [Desc("账号Id")]
    public long Uuid = 0;

    [Desc("玩家唯一Id")]
    public long Puid = 0;
    [Desc("注册时间")]
    public DateTime TimeRegister = DateTime.Now;
    [Desc("上次登录时间")]
    public DateTime TimeLogin = DateTime.Now;
    [Desc("上次登出时间")]
    public DateTime TimeLogout = DateTime.Now;

    [Desc("姓名")]
    public string Name = "姓名";
    [Desc("性别0=男 1=女")]
    public EGender Gender = EGender.男性;
    [Desc("阶级")]
    public EClasss Classs = EClasss.普通;
    [Desc("头像Id")]
    public int Head = 0;

    public ERace Race = ERace.human;

    [Desc("门派")]
    public string Family = "";

    [Desc("公会")]
    public string Guild = "";

    [Desc("头衔")]
    public string Title = "普通百姓";

    [Desc("标准在线时长 统计 不计算年龄")]
    public long OnlineTicks = 0;
    [Desc("在线时长心跳 计算年龄")]
    public long AgeSeconds = 0;
    [Desc("年龄")]
    public int Age = 14;

    [Desc("等级")]
    public int Level = ConfDescLevel.Keys.Min();
    [Desc("经验")]
    public long Exp { get; set; } = 0;

    [Desc("金币")]
    public long Gold = 0;
    [Desc("宝石")]
    public long Gem = 0;
    [Desc("潜能")]
    public long Pot = 0;

    [Desc("进入房间存档")]
    public long RoomUid = 0;

    [Desc("状态当前值")]
    public Status StatusCur { get; set; } = new();
    [Desc("状态有效值")]
    public Status StatusEff { get; set; } = new();
    [Desc("状态最大值")]
    public Status StatusMax { get; set; } = new();

    [Desc("天赋")]
    public Talent Talent { get; set; } = new();

    [Desc("技能列表")]
    public Dictionary<string, int> Skills { get; set; } = new Dictionary<string, int>();
    [Desc("激发列表")]
    public Dictionary<string, string> Usages { get; set; } = new Dictionary<string, string>();

    [Desc("道具")]
    public Dictionary<long, Item> DictItem = new();

    [Desc("装备")]
    public Dictionary<long, Equip> DictEquip { get; set; } = new();

    [Desc("穿戴")]
    public Dictionary<EEquipType, long> DictWear { get; set; } = new Dictionary<EEquipType, long>();


}
